﻿//-----------------------------------------------------------------------------
//<filedescription file="ArrayBuilder.Constants.cs" company="Microsoft">
//  <copyright>
//     Copyright © Microsoft Corporation.  All rights reserved.
//     ***  DESIGNATED SAMPLE CODE (per the included software license terms) ***
//      THIS CODE SAMPLE IS MADE AVAILABLE TO YOU WITHOUT WARRANTY OF ANY KIND
//      AND CONFERS NO RIGHTS ON YOU WHATSOEVER EXCEPT THE RIGHT TO REVIEW IT
//      SOLELY AS A REFERENCE.  THE ENTIRE RISK OF USE OR RESULTS FROM USE OF
//      THIS CODE SAMPLE REMAINS WITH YOU.
//  </copyright>
//  <purpose>
//     Enumerations useful for working with Configuration Manager
//  </purpose>
//  <notes>
//  </notes>
//</filedescription>
//-----------------------------------------------------------------------------

namespace Microsoft.ConfigurationManagement.OemDeployment.ArrayBuilder
{
    /// <summary>
    /// 
    /// </summary>
    internal static partial class Utilities
    {

        /// <summary>
        /// 
        /// </summary>
        internal const string ALL_REMAINING = "AllRemaining";
        /// <summary>
        /// 
        /// </summary>
        internal const string HOT_SPARE_DISK = "HotSpare";
        /// <summary>
        /// 
        /// </summary>
        internal const string GLOBAL_HOT_SPARE_DISK = "GlobalHotSpare";
        /// <summary>
        /// 
        /// </summary>
        internal const string ALL_DISK = "All";
        /// <summary>
        /// 
        /// </summary>
        internal const string STANDARD_DISK = "Standard";
        /// <summary>
        /// 
        /// </summary>
        internal const string MAXIMUM_SIZE = "Maximum";
        /// <summary>
        /// 
        /// </summary>
        internal const string REMAINING_SPACE = "Remaining";
        /// <summary>
        /// 
        /// </summary>
        internal const string PERCENT_SIZE = "Percent";
        /// <summary>
        /// 
        /// </summary>
        internal const string GIGABYTE_SHORT = "GB";
        /// <summary>
        /// 
        /// </summary>
        internal const string DRIVE_MATCH_TYPE_EQUAL = "Equal";
        /// <summary>
        /// 
        /// </summary>
        internal const string DRIVE_MATCH_TYPE_EQUALORGREATER = "EqualOrGreater";
        /// <summary>
        /// 
        /// </summary>
        internal const string CONTROLLER_MATCH_ANY = "Any";
        /// <summary>
        /// 
        /// </summary>
        internal const string CONTROLLER_MATCH_ALL = "AllRemaining";
        /// <summary>
        /// 
        /// </summary>
        internal const string CONTROLLER_MATCH_SLOT = "Slot";
        /// <summary>
        /// 
        /// </summary>
        internal const string CONTROLLER_MATCH_EMBEDDED = "Embedded";
        /// <summary>
        /// 
        /// </summary>
        internal const string ARRAY_NO_RAID = "None";
        /// <summary>
        /// 
        /// </summary>
        internal const string ARRAY_DYNAMIC = "Dynamic";
        /// <summary>
        /// 
        /// </summary>
        internal const string OEM_OPTIONS_CONTROLLER = "ControllerOptions";
        /// <summary>
        /// 
        /// </summary>
        internal const string OEM_OPTIONS_ARRAY = "ArrayOptions";
        /// <summary>
        /// 
        /// </summary>
        internal const string OEM_OPTIONS_LOGICALDRIVE = "LogicalDriveOptions";
        /// <summary>
        /// 
        /// </summary>
        internal const string RULE_FAILONANY = "FailOnAny";
        /// <summary>
        /// 
        /// </summary>
        internal const string RULE_FAILONFIRST = "FailOnFirst";
        /// <summary>
        /// 
        /// </summary>
        internal const string RULE_FAILONNONE = "FailOnNone";
        /// <summary>
        /// 
        /// </summary>
        internal const string NODETAG_JBODARRAY = "JbodArray";
        /// <summary>
        /// 
        /// </summary>
        internal const string NODETAG_ARRAY = "Array";
        /// <summary>
        /// 
        /// </summary>
        internal const string NODETAG_JBODDISK = "JbodDisk";
        /// <summary>
        /// 
        /// </summary>
        internal const string NODETAG_DISK = "Disk";
        /// <summary>
        /// 
        /// </summary>
        internal const string NODETAG_HOTSPAREDISK = "HotSpareDisk";
        /// <summary>
        /// "PhysicalDisks"
        /// </summary>
        internal const string NODETAG_PHYSICALDISKS = "PhysicalDisks";
        /// <summary>
        /// "Variable"
        /// </summary>
        internal const string NODETAG_VARIABLE = "Variable";
        /// <summary>
        /// "Controller"
        /// </summary>
        internal const string NODETAG_CONTROLLER = "Controller";
        /// <summary>
        /// "GlobalHotSpares"
        /// </summary>
        internal const string NODETAG_GLOBALHOTSPARES = "GlobalHotSpares";
        /// <summary>
        /// "GlobalHotSpareDisk"
        /// </summary>
        internal const string NODETAG_GLOBALHOTSPAREDISK = "GlobalHotSpareDisk";
        /// <summary>
        /// "LogicalDrives"
        /// </summary>
        internal const string NODETAG_LOGICALDRIVES = "LogicalDrives";
        /// <summary>
        /// "Controller"
        /// </summary>
        internal const string NODETAG_LOGICALDRIVE = "LogicalDrive";
        /// <summary>
        /// 
        /// </summary>
        internal const string XMLNODE_CONTROLLER = "Controller";
        /// <summary>
        /// "VariableCondition"
        /// </summary>
        internal const string XMLNODE_VARIABLE = "VariableCondition";
        /// <summary>
        /// "Array"
        /// </summary>
        internal const string XMLNODE_ARRAY = "Array";
        /// <summary>
        /// "Disk"
        /// </summary>
        internal const string XMLNODE_DISK = "Disk";
        /// <summary>
        /// "GlobalHotSpares"
        /// </summary>
        internal const string XMLNODE_GLOBALHOTSPARES = "GlobalHotSpares";
        /// <summary>
        /// "LogicalDrive"
        /// </summary>
        internal const string XMLNODE_LOGICALDRIVE = "LogicalDrive";
        /// <summary>
        ///     "LogicalDrives"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XMLNODE_LOGICALDRIVES = "LogicalDrives";
        /// <summary>
        ///     "Disks"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XMLNODE_DISKS = "Disks";
        /// <summary>
        ///     "Arrays"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XMLNODE_ARRAYS = "Arrays";
        /// <summary>
        ///     "VariableConditions"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XMLNODE_VARIABLES = "VariableConditions";
        /// <summary>
        ///     "Controllers"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XMLNODE_CONTROLLERS = "Controllers";
        /// <summary>
        ///     ".//Controller[@ControllerMatch='AllRemaining']"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ALL_REMAINING_CONTROLLER_NODE = ".//Controller[@ControllerMatch='AllRemaining']";
        /// <summary>
        ///     ".//Disk[@Number='AllRemaining']"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ALL_REMAINING_DISK_NODE = ".//Disk[@Number='AllRemaining']";
        /// <summary>
        ///     ".//Array[@RaidLevel='None']//Disk[@Number='AllRemaining']"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ALL_REMAINING_DISK_NODE_ON_NON_RAID = ".//Array[@RaidLevel='None']//Disk[@Number='AllRemaining']";
        /// <summary>
        ///     ".//Array[@RaidLevel='None']"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_NON_RAID_ARRAY_NODE = ".//Array[@RaidLevel='None']";
        /// <summary>
        ///     ".//Array[@RaidLevel='None']/Disks"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_NON_RAID_ARRAY_DISKS_NODE = ".//Array[@RaidLevel='None']/Disks";
        /// <summary>
        ///     ".//Array[@RaidLevel='None']//Disk"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_NON_RAID_ARRAY_DISKS_NODELIST = ".//Array[@RaidLevel='None']//Disk";
        /// <summary>
        ///     ".//GlobalHotSpares"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_GLOBAL_HOT_SPARES_NODE = ".//GlobalHotSpares";
        /// <summary>
        ///     "//GlobalHotSpares/Disks"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_GLOBAL_HOT_SPARE_DISKS_NODE = "//GlobalHotSpares/Disks";
        /// <summary>
        ///     ".//GlobalHotSpares//Disk"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_GLOBAL_HOT_SPARE_DISKS_NODELIST = ".//GlobalHotSpares//Disk";
        /// <summary>
        ///     ".//Arrays"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAYS_NODE = ".//Arrays";
        /// <summary>
        ///     ".//Array"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAY_NODELIST = ".//Array";
        /// <summary>
        ///     ".//Array/Disks/Disk"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAY_DISKS_NODELIST = ".//Array/Disks/Disk";
        /// <summary>
        ///     ".//Disks/Disk[not(@Usage='HotSpare')]"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAY_NON_HOTSPARE_DISKS_NODELIST = ".//Disks/Disk[not(@Usage='HotSpare')]";
        /// <summary>
        ///     ".//Disk[@Usage='HotSpare']"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAY_HOT_SPARE_DISKS_NODELIST = ".//Array/Disks/Disk[@Usage='HotSpare']";
        /// <summary>
        ///     ".//LogicalDrives"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_LOGICAL_DRIVES_NODE = ".//LogicalDrives";
        /// <summary>
        ///     ".//LogicalDrive"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_LOGICAL_DRIVE_NODELIST = ".//LogicalDrive";
        /// <summary>
        ///     ".//LogicalDrive[@Size='" + Utilities.MAXIMUM_SIZE + "']";
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_LOGICAL_DRIVE_DEFAULT_NODE = ".//LogicalDrive[@Size='" + Utilities.MAXIMUM_SIZE + "']";
        /// <summary>
        ///     ".//Disks"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_DISKS_NODE = ".//Disks";
        /// <summary>
        ///     ".//Disk[@Usage='HotSpare']";
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_HOT_SPARE_DISKS_NODELIST = ".//Disk[@Usage='HotSpare']";
        /// <summary>
        ///     ".//Disk"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_DISK_NODELIST = ".//Disk";
        /// <summary>
        ///     ".//VariableConditions"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_VARIABLES_NODE = ".//VariableConditions";
        /// <summary>
        ///     ".//VariableCondition"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_VARIABLE_NODELIST = ".//VariableCondition";
        /// <summary>
        ///     ".//ArrayBuilderOptions/SupportedOptions/MaxGlobalHotSparesPerController"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAYBUILDER_SUPPORTEDOPTION_MAXGHSDISKS = ".//ArrayBuilderOptions/SupportedOptions/MaxGlobalHotSparesPerController";
        /// <summary>
        ///     ".//ArrayBuilderOptions/SupportedOptions/MaxHotSparesPerArray"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAYBUILDER_SUPPORTEDOPTION_MAXHOTSPAREDISKS = ".//ArrayBuilderOptions/SupportedOptions/MaxHotSparesPerArray";
        /// <summary>
        ///     ".//ArrayBuilderOptions/SupportedOptions/LogicalDrivePercent"
        /// </summary>
        /// <remarks>
        ///     
        /// </remarks>
        internal const string XPATH_ARRAYBUILDER_SUPPORTEDOPTION_LOGICALDRIVEPERCENT = ".//ArrayBuilderOptions/SupportedOptions/LogicalDrivePercent";
        

        /// <summary>
        /// 
        /// </summary>
        internal const int CHAR_A = 65;
        /// <summary>
        /// 
        /// </summary>
        internal const int CHAR_Z = 90;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_0 = 2;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_1 = 2;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_5 = 3;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_6 = 4;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_10 = 4;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_50 = 6;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_60 = 8;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_DYNAMIC = 1;
        /// <summary>
        /// 
        /// </summary>
        internal const int MIN_DRIVES_RAID_NONE = 0;
        
       

    }
}
